CAW can now return algorithms with multiple self-written clauses and predicates, as against reference other predicates from its library which reference other predicates. It requires a single specification to access library predicates and a list of specifications to write its own predicates, and these can be moved to the library so they only require a single specification too.